ISCPropertyValue Interface
The following table contains information on the ISCPropertyValue interface:
Signature |
Description |
Valid Arguments |
---|---|---|
VARIANT ValueId(VARIANT ValueType [optional]) |
Uniquely identifies the value in a non-scalar property. |
ValueType:
|
� |
� |
|
SC_CLSID PropertyClassId() |
Returns the class identifier of the current property |
None |
BSTR PropertyClassName() |
Returns the class name of the current property |
None |
VARIANT Value(VARIANT ValueType [optional]) |
Converts the current value to the passed value type. |
ValueType:
|
SC_ValueTypes ValueType() |
Passes back the identifier of the value default type |
None |
SC_ValueTypes ValueIdType() |
Passes back the identifier of the value identifier default type |
None |
SC_ValueTypes * GetSupportedValueTypes() |
Groups a list of supported value types and returns it as a SAFEARRAY |
None |
SC_ValueTypes * GetSupportedValueIdTypes() |
Groups a list of supported value types for the current value identifier and returns it as a SAFEARRAY |
None |
More information about value datatypes is located in the SC_ValueTypes section.
Example 15
The following example illustrates how to access non-scalar property values using C++. The example uses a Model Property object from Example 13:
void IterateNonScalarProperties(ISCModelPropertyPtr & scObjPropPtr) { if (scObjPropPtr->GetCount() > 1) { ISCPropertyValueCollectionPtr propVals = scObjPropPtr->GetPropertyValues(); long numVals = propVals->GetCount(); for (long i = 0; i < numVals; i++) { ISCPropertyValuePtr propValPtr = propVals->GetItem(COleVariant(i)); VARIANT valType; V_VT(&valType) = VT_I4; V_I4(&valType) = SCVT_BSTR; bstr_t bstrPropVal = propValPtr->GetValue(valType); // … } } }
The following example illustrates how to access non-scalar property values using Visual Basic .NET. The example uses a Model Property object from Example 13:
Public Sub IterateNonScalarProperties(ByRef scObjProp As SCAPI.ModelProperty) Dim scPropValue as SCAPI.PropertyValue If (scObjProp.Count > 1) Then For Each scPropValue In scObjProp.PropertyValues If (scPropValue.ValueIdType = SCVT_BSTR) Then Console.WriteLine( scPropValue.ValueId(SCVT_BSTR),": ", _ scPropValue.Value.ToString()) Else Console.WriteLine (scPropValue.Value.ToString()) End If Next End If End Sub
Copyright © 2025 Quest Software, Inc. |